--- title: "8、k倍区间" created: 2025-11-28 tags: - 算法 --- # 8、k倍区间 ## 题目 [k倍区间](https://www.lanqiao.cn/paper/3854/problem/2387/) ![[image-3ba356ce.png]] ## 思路分析 前面前缀和 双指针很容易想得到 然后要是负整数倍 所以做的时候直接把小于0的情况给判断掉了 ```cpp #include using namespace std; const int N=100010; int a[N],s[N]; int n,k; int main() { cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; s[i]=s[i-1]+a[i]; } int cnt=0; for(int l=1;l<=n;l++){ for(int r=l;r<=n;r++){ int x=s[r]-s[l-1]; if(x>=0 && x%k==0){ cnt++; } } } cout<